package fa7.socialcode.web;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import org.apache.commons.beanutils.BeanComparator;
import org.apache.commons.collections.comparators.ReverseComparator;

import fa7.socialcode.service.NoticiaManager;

public class NoticiaList {

	private NoticiaManager noticiaManager;
	private String sortColumn = "id";
	private boolean ascending = true;

	public String getSortColumn() {
		return sortColumn;
	}

	public void setSortColumn(String sortColumn) {
		this.sortColumn = sortColumn;
	}

	public boolean isAscending() {
		return ascending;
	}

	public void setAscending(boolean ascending) {
		this.ascending = ascending;
	}

	public void setNoticiaManager(NoticiaManager noticiaManager) {
		this.noticiaManager = noticiaManager;
	}

	public List getNoticias() {
		List noticias = noticiaManager.findNoticias();

		Comparator comparator = null;

		comparator = new BeanComparator(sortColumn);

		if (!ascending) {
			comparator = new ReverseComparator(comparator);
		}

		Collections.sort(noticias, comparator);

		return noticias;
	}

}
